package com.wuliu.system.domain.vo.app;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author realue
 * @version 1.0
 * @date 2023-10-25 10:33
 */
@ApiModel(description = "运单详细返回实体类")
@Data
public class TspOrderVo {
    @ApiModelProperty(value = "运单id")
    private String id;
    @ApiModelProperty(value = "运单号")
    private String orderNo;
    @ApiModelProperty(value = "1.收货 2.录单 3.装车 4.发车 5.到车 6.卸车 7.转运 8.派件 9.派件转运 10.签收(完成) 11.取消(作废) 12.问题件")
    private Integer status;
    @ApiModelProperty(value = "支付方式1寄付 2到付 3寄付月结 4到付月结")
    private Integer paySide;
    @ApiModelProperty(value = "客户编号")
    private String feeAccno;
    @ApiModelProperty(value = "发货公司")
    private String srcCompName;
    @ApiModelProperty(value = "发货人")
    private String srcName;
    @ApiModelProperty(value = "发货人电话")
    private String srcTel;
    @ApiModelProperty(value = "发货国家")
    private String srcCountry;
    @ApiModelProperty(value = "发货省")
    private String srcProvince;
    @ApiModelProperty(value = "发货城市")
    private String srcCity;
    @ApiModelProperty(value = "发货区县")
    private String srcDistrict;
    @ApiModelProperty(value = "发货地址")
    private String srcAddr;
    @ApiModelProperty(value = "收货站大字")
    private String dstBigWord;
    @ApiModelProperty(value = "目的站id")
    private Long dstDeptId;
    @ApiModelProperty(value = "目的站编号")
    private Long dstDeptNo;
    @ApiModelProperty(value = "目的站名称")
    private String dstDeptName;
    @ApiModelProperty(value = "收货公司")
    private String dstCompName;
    @ApiModelProperty(value = "收货人")
    private String dstName;
    @ApiModelProperty(value = "收货人电话")
    private String dstTel;
    @ApiModelProperty(value = "收货国家")
    private String dstCountry;
    @ApiModelProperty(value = "收货省")
    private String dstProvince;
    @ApiModelProperty(value = "收货市")
    private String dstCity;
    @ApiModelProperty(value = "收货区/县")
    private String dstDistrict;
    @ApiModelProperty(value = "收货地址")
    private String dstAddr;
    @ApiModelProperty(value = "托寄物品")
    private String cargoName;
    @ApiModelProperty(value = "重量")
    private BigDecimal weight;
    @ApiModelProperty(value = "体积")
    private BigDecimal volume;
    @ApiModelProperty(value = "件数")
    private Integer cargoCnt;
    @ApiModelProperty(value = "声明价值")
    private BigDecimal declaredValue;
    @ApiModelProperty(value = "代收货款")
    private BigDecimal cod;
    @ApiModelProperty(value = "备注")
    private String remark;
    @ApiModelProperty(value = "路由记录")
    private List<TspTrack> trackList;
    @ApiModelProperty(value = "图片记录")
    private List<BasFiles> basFiles;
    @Data
    public static class TspTrack{
        @ApiModelProperty(value = "操作代码1.收货 2.录单 3.装车 4.发车 5.到车 6.卸车 7.转运 8.派件 9.派件转运 10.签收(完成) 11.取消(作废) 12.问题件")
        private Integer opCode;
        @ApiModelProperty(value = "操作时间")
        private String opTime;
        @ApiModelProperty(value = "操作内容")
        private String operation;
    }
    @Data
    public static class BasFiles{
        @ApiModelProperty(value = "类型 1.收货图片 2.录单图片 3.装车图片 4.发车图片 5.到车图片 6.卸车图片 7.转运图片 8.派件图片 9.派件转运图片 10.签收(完成)图片 11.取消(作废)图片 12.问题件图片 13.货物图片")
        private Integer fileType;
        @ApiModelProperty(value = "文件地址")
        private String fileUrl;
    }
}
